Conventional computer programs commonly utilize graphical user interfaces having what are referred to as graphics "controls". A graphics control is a discrete visual object on the computer screen that can be manipulated by the user to perform an action in an associated application program.
Perhaps the most common controls are buttons, which allow a user to select options, and scroll bars, which allow the user to move through a document or position text in a window. An example of a button, as it commonly appears in popular graphical user interfaces, is shown in FIG. 1 generally designated by reference numeral 10. The button has a textual label that indicates the function of the button. The user can select the button by moving an on-screen pointer to the button and pressing a key such as a mouse key. When the button is selected, it changes its appearance momentarily. In some implementations, the button is made to appear as if it has actually been pressed. The application program interprets this selection as an instruction from the user, and performs the function indicated by the button's label.
A check box is another common type of control. A check box is simply an empty box. When the user selects the box, it is filled with a check mark or an "X" to indicate that the user has selected a corresponding option.
Other common types of controls include radio buttons, spin dials, list boxes, and text boxes. These graphics controls are widely used in the Microsoft Windows.RTM. programming environment, in which they can be conveniently implemented with operating system calls. For further information regarding such graphics controls, and for descriptions of how to implement and use such controls, refer to Microsoft Windows 3.1 Guide to Programming, Redmond, Wash.: Microsoft Press, 1987-1992, which is hereby incorporated by reference. The following discussion assumes a working familiarity with the use and programming of popular graphical user interfaces such as implemented in the Microsoft Windows.RTM. programming environment.
Currently existing graphics controls are functionally adequate in the common environment of a typical personal computer. However, the nature of computing devices is changing rapidly. In newer computing devices, existing forms of graphics controls may not be effective. As an example, many people believe that home computers will someday be supplanted by hybrid entertainment devices that integrate the functions of computers and televisions. As another example, it is likely that set-top boxes associated with cable television services will soon be required to implement much more sophisticated user interfaces as interactive services become available to cable subscribers.
The rapid growth of communications between computers is another development that is changing the nature of computing devices. Many people believe that the personal computer of today will soon be replaced by a much simpler and less expensive device whose main function will be to access the resources of an external network such as the Internet. Again, it is often envisioned that such a device will be integrated with other entertainment devices such as televisions.
These developments point to an apparent merging of television, video, and computer functions into a single device, in which a single user interface will be desirable.
However, existing graphics controls do not work well in the more "active" environments of the video and television worlds. In these environments, the user is continually presented with very colorful, unpredictable, and rapidly changing display screens. Conventional graphics controls are easily overlooked in these environments. Even in the Internet environment, where content providers often compete for audiences, more colorful and noticeable controls are desired.
Such colorful and noticeable graphics controls are available only at a relatively high price in public network environments--such as interactive television networks, online service networks, and the Internet--in which data bandwidth is at a premium. Creating a complex graphics control requires a lot of data, and in these environments such data must be transferred from a server to a client over connections that are often quite slow. Furthermore, a relatively simple client device such as a set-top box might have only limited storage capabilities, and might therefore be incapable of handling complex or lengthy data.